package com.cmonbaby.adapter.pattern;

import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.recyclerview.widget.RecyclerView;

import com.cmonbaby.adapter.recycleview.RMultiItemTypeAdapter;

import java.util.List;

/**
 * 创建RecycleViewHelper所需要的数据。它的实现类很方便创建RecycleViewHelper对象
 * @author simon 2016-11-03 上午11:05:29
 * @since JDK1.8 SDK6.0.1
 * @version V2.3.4
 */
public interface RViewCreate {

    /** 创建SwipeRefresh下拉 */
    SwipeRefreshLayout createSwipeRefresh();

    /** SwipeRefresh下拉颜色 */
    int[] colorRes();

    /** 创建RecycleView */
    RecyclerView createRecyclerView();

    /** 创建RecycleView.Adapter */
    RMultiItemTypeAdapter createRecycleViewAdapter();

    /** 创建RecycleView */
    RecyclerView.LayoutManager createLayoutManager();

    /** 创建RecycleView分割线 */
    RecyclerView.ItemDecoration createItemDecoration();

    /** 创建空数据布局 */
    int createEmptyView();

    /** 创建加载更多布局 */
     int createLoadMoreView();

    /** 开始页码 */
    int startPageNumber();

    /** 是否支持分页 */
    boolean isSupportPaging();

    /** 最后一页少于多少条数据显示无更多数据 */
    int rowsPageNumber();

    /** 刷新适配器 */
    void notifyAdapterDataSetChanged(List data);
}
